A human capital management (HCM) system may automate various human resource processes. For example, a HCM system may automate the functionality of hiring a new employee, terminating an existing employee, reassigning an employee, granting extended leave, etc. Each functionality may require one or more approvals before the request is granted, and the HCM system automates the process of generating the appropriate requests and collecting completed approvals before granting the request if the process was successfully completed. In addition, a HCM system may provide various workforce analytics, which quantifies various aspects of human resources management within the HCM system. To set up such a process, various customizing tables are required to be maintained by customers.
Within the HCM system, various tools are implemented to provide functionality for maintaining these customizing tables. Previously, tools would be individually programmed, leading to problems maintaining consistent interfaces and behaviours among different tools.
Object-oriented programming (OOP) is a programming paradigm that uses “objects” to design applications and programs. OOP emphasizes modularity in software by treating the application or program as a collection of cooperating objects, as opposed to a traditional view in which a program is a list of instructions to the computer. Each object is capable of receiving messages, processing data, and sending messages to other objects. Thus, each object can be viewed as an independent machine with a distinct role or responsibility. The emphasis on modularity promotes greater flexibility and maintainability compared to previous approaches.
Within the HCM system, functionality may be provided by tools. Tools may be objects instantiated from tool classes, which define objects including methods and properties that provide the required functionality.
Within the HCM system, data is stored in tables of a database. The HCM system may include functionality to access the data, such as the following: Read the definitions from data base, Write the definitions to data base, Delete the definitions from the database, Rename or Copy the object, Lock against concurrent change accesses and unlock, Create a transport request from an object, check for existence, discard any changes previously made.
As can be seen, a variety of functionality is necessary to provide data access. One method of providing this functionality is to write specific code for each customized table to fulfill specific tasks. Unfortunately, this approach makes the code difficult to maintain and upgrade.
Thus, a need exists to provide access to data stored on a database in a HCM system.